package rabbitmq

const mq_key = "rabbitmq.url"
const CONSUMER = "rabbitmq.consumer"
const EXCHANGE_TYPE = "topic"

const EXCHANGE_COMMON = "go.exchange.common"
const EXCHANGE_DELAYED = "go.exchange.delayed"

const QUEUE_LOGGER = "go.queue.logger"
const QUEUE_DLETE = "go.queue.delete"
const QUEUE_DELAYED = "go.queue.delayed"

const LOGGER_KEY = "go.key.logger.#"
const DEL_KEY = "go.del.key.#"
const DELAY_KEY = "go.delay.key.#"

type QueueRouterVo struct {
	Name      string `json:"name"`
	RouterKey string `json:"router_key"`
}
type ExchangeVo struct {
	Name      string          `json:"name"`
	Type      int             `json:"type"`
	QueueList []QueueRouterVo `json:"queue_list"`
}

var exchangeVoList = []ExchangeVo{
	{EXCHANGE_COMMON, 0,
		[]QueueRouterVo{
			{QUEUE_DLETE, DEL_KEY},
			{QUEUE_LOGGER, LOGGER_KEY},
		},
	},
	{EXCHANGE_DELAYED, 1,
		[]QueueRouterVo{
			{QUEUE_DELAYED, DELAY_KEY},
		},
	},
}
